Some mutual capacitive-type touch sensitive devices having matrix-type sensors are continuously calibrated to accommodate changes in ambient operating conditions. For example, as a mutual capacitive, matrix-type touch sensor heats up, an individual node on the sensor may become more or less sensitive to touch events. To accommodate these changes in sensitivity, a controller coupled to the touch sensor gradually adjusts a baseline value associated with particular nodes. The theoretical ideal baseline is the portion of a touch signal that is common to both the touch and a non-touch event. Of course, the non-touch portion of the signal is not known during a touch event, so it must be estimated. This estimation may be accomplished by, for example, determining the moving average value associated with a node during non-touch events. Other, more complicated methods are also known in the art.
Certain events may cause baseline calibrations leading to anomalous behavior. For example, if water or some other conductive liquid is sprayed onto a touch screen, a continuous calibration routine may adjust to this condition, such that when the water is removed a touch event is erroneously reported.
Such an anomalous condition may be seen in FIG. 1, which is a time plot of exemplary data representative of that which might come from a node on a multi-touch, mutual capacitance matrix-type touch device. The Y-axis in FIG. 1 represents counts, but the value of the Y-axis could be any value representative of voltage, time, current or any other attribute that is chosen as a surrogate for the level of capacitance at a given node. The X-axis refers to the sample number, which represents a sample taken repeatedly, for example every 5 milliseconds (ms), by controller electronics. Raw count 301, then, is the count data value, sampled every 5 ms, associated with a particular node. Baseline 330 generally follows the trend of the plot of raw data 301. Baseline 330 is a function of raw count 301, and could be anything from a moving average to the output of a filter such as an infinite impulse response (IIR) filter. After an initial calibration after touch device startup, baseline 330 is slowly adjusted over time to compensate for changes in the operating environment, such as temperature.
On the same graph, effective count 302 is a plot of:(raw count value 301)−(baseline 330).
Threshold 305 is the touch threshold, which in this example is around 300 counts. When effective count 301 exceeds threshold 305, a touch is reported by an associated controller. For example, touch event 310 is shown impacting raw count value 301, which corresponds to touch event 310A on effective count 302. Note that in this embodiment, touch event 310 causes the count raw count value 301 to decrease, which is a condition associated with a reduction in the mutual capacitance at the node. The decrease is an artifact of the particular implementation of the electronics and firmware; other implementations could result in increase rather than a decrease in the Y-axis value. For the duration of touch event 310 (and thus touch event 310A), a touch would be reported by controller 114, and the baseline would not be updated.
Water event 320 may result in raw data count 301 going up or down. In FIG. 1, water event 320 is shown as an increasing value in raw data count 301, representing an increase in mutual capacitance at the node. Water event may be associated with a user cleaning the screen, for example. As the movement in raw data count 301 is in the direction opposite touch, the effective count 302 never exceeds threshold value 305, and thus no touch is reported when the water is applied. Also, because the baseline update algorithm is likewise not inhibited due to the recognition of a touch event, the baseline value updates to accept as ambient the condition of water being on the sensor surface. This baseline update is sometimes called in the industry “straying away from touch.” If water event 320 had caused an effective decrease in counts, and the baseline were similarly updated, this would be called in the industry “straying toward touch.”
Because baseline 330 has been adjusted to accommodate the water as an ambient operating condition, when the user wipes the screen dry, it could immediately cause the effective count value to exceed the threshold, which controller would report as erroneous touch event 312. A touch would then be continuously reported by controller 114, because the baseline would not be updated during the touch event.
If the straying portrayed in FIG. 1 had been “toward touch,” a different artifact would arise that is not necessarily as problematic: upon wiping the screen, until the baseline is adjusted in due course, the screen could be less sensitive to touch, which could be accommodated by the user pressing more directly on the touch surface of the sensor.